package classfile

/*

	是定长的属性，只会出现在field_info结构中，用于表示常量表达式的值

	下面列举了两个字段类型与常量类型的对应关系
	long(字段类型）    CONSTANT_Long_info(常量类型）
	String（字段类型）  CONSTANT_String_info（常量类型）



ConstantValue_attribute {
    u2 attribute_name_index;
    u4 attribute_length;  //这里的值必须是2 （定长）
    u2 constantvalue_index; //指向常量池的索引，但具体指向哪种常量因字段类型而异。
}
*/
type ConstantValueAttribute struct {
	constantValueIndex uint16
}

func (self *ConstantValueAttribute) readInfo(reader *ClassReader) {
	self.constantValueIndex = reader.readUint16()
}

/*
	只是返回了常量值索引，没有返回具体的常量值
*/
func (self *ConstantValueAttribute) ConstantValueIndex() uint16 {
	return self.constantValueIndex
}
